如果机器学习仅仅是美化(glorified)统计学,那么建筑学也就是美化沙堡结构而已。
老实说,我已经厌倦了听到社交媒体和我所在的大学每天都在重复的辩论。通常,这都伴随着一些模糊的陈述来解释这个问题。双方都应该为这个感到惭愧。我希望你在阅读完本文后,对这些有些模糊的术语有着更明确的立场。与流行的观点相反,机器学习已经有几十年的历史了。最初由于庞大的计算量与当时计算能力的限制,这一领域的发展尚未兴起(stunted)。然而,近年来,由于信息爆炸引发的海量数据优势,机器学习再度兴起。那么,如果机器学习和统计学彼此为同义词,为什么我们没有看到各个大学的各统计系都关闭或改名为“机器学习”系?因为他们不一样!关于这个主题,我经常听到的几个含糊的陈述,最常见的是:
“机器学习和统计学之间的主要区别在于它们的目的。机器学习模型旨在做最精确的预测。统计模型被设计用于推断变量之间的关系。”
尽管这在技术上是正确的,但它没有给出特别明确或令人满意的答案。的确,机器学习和统计学的一个主要区别在于它们目的的不同。然而,除非你精通这些概念,否则说机器学习是关于精确预测,而统计模型是为推断而设计这一论断就毫无意义了。首先,我们必须理解统计学和统计模型的概念并不相同。统计学是对数据的数学研究。如果没有数据,就无法进行统计。统计模型是数据的模型,用于推断数据中的关系或创建能够预测未来值的模型。通常,这两者是相辅相成的。因此,实际上我们需要讨论两件事:首先,统计学与机器学习有何不同,其次,统计模型与机器学习有何不同。更明确地说,可以用许多统计模型进行预测,但预测的准确性并不是它们的优势所在。同样,机器学习的模型,提供了从高度可解释(highly interpretable)的lasso回归模型到难以用于经济解释(impenetrable)的神经网络(neural networks),对于机器学习模型来说,牺牲可解释性(interpretability)换取更强的预测能力是一种常见的选择。从高水平的视角来看,这对大多数人来说是一个很好的答案。但是,在有些情况下,这种解释会使我们对机器学习和统计模型之间的差异产生了误解。让我们看一个线性回归的例子。
在我看来,统计建模和机器学习中使用方法的相似性使人们认为它们是同一个东西。这可以理解的,但并不正确。最明显也最可能造成这种误解的案例是线性回归。线性回归是一种统计方法,我们可以训练一个基于均方差(the squared error)最小的线性回归器,并获得与统计线性回归模型相同的结果。可以看到,在某个案例中,我们用数据的一个子集做了一个名为“训练”模型的事情,我们并不知道模型的性能如何,直到我们用非训练数据对模型进行“测试”。在这种情况下,机器学习的目的是在测试集上获得最佳性能。对于统计模型,我们假设数据是一个具有随机噪声且本质上基于高斯(Gaussian)分布的线性回归函数,并在其中找到一条均方差最小的线。无需训练集,也无需测试集。对于许多情况,特别是在研究中(例如下面的传感器示例),统计模型的要点是刻画数据与结果变量之间的关系,而不是对未来数据进行预测。我们将此过程称为统计推断,而非预测。不过,我们仍然可以使用此模型进行预测,这也许也是你的主要目的,但评估模型的方式不涉及测试数据集,而是评估模型参数的显著性(significance)和稳健性(robustness)。有监督的机器学习的目的是构建一个可重复预测的模型。通常我们不关心模型是否可解释,尽管我个人建议始终对模型进行测试以确保预测结果确实可行。机器学习以结果为导向,这就像你在一家公司工作,你的价值完全取决于你的表现。然而,统计建模更多的是发现变量之间的关系以及这些关系的意义,尽管也适合预测。为了给出这两个过程之间的具体差异,我将举一个个人的例子。👇作为一名环境科学家,我主要研究传感器数据。如果我试图证明传感器能够响应某种刺激(例如气体浓度),那么我将使用统计模型来确定信号响应是否具有统计显著性。我会尝试理解这种关系并验证其可重复性,以便我能够基于这些数据准确地刻画出传感器响应并根据响应做出推断。比如我所测试的响应是否是线性的,是否是由气体浓度而非随机噪声导致的响应,等等。
另一方面,我还可以使用20个不同传感器的阵列来预测新传感器的响应情况。对传感器知之甚少的人可能会觉得有点奇怪,不过这是目前环境科学的一个重要领域。使用一个有20个不同的变量的模型来预测新传感器的输出结果显然都与预测相关,而且我不需要进行特别的解释性工作。由于化学动力学和物理变量与气体浓度之间的非线性关系,这个模型可能会像神经网络一样更深奥。我希望这个模型有实际意义,不过只要我能做出准确的预测,我就会相当高兴。
如果我试图证明数据变量之间的关系具有一定的统计学意义,以期发表在科学论文中,我就会使用统计模型而不是机器学习。这是因为我更关心变量之间的关系,而不是做出预测。虽然预测很重要,但由于机器学习算法缺少解释性,使得数据间的关系很难证明(实际上这也正是当前学术界的一个关键问题,科研人员用一个并不真正理解的算法得到了一个似是而非的推论)。
可以清楚地看到,尽管使用方法类似,这两种方法的目标并不相同。机器学习算法使用测试集来验证其准确性。对于统计模型,则可以使用置信区间、显著性检验和其他检验对回归参数进行分析,以评估模型的有效性。由于使用这些方法所得到的结果是一致的,因此他们认为它们完全相同也是可以理解的。个人认为这一误解可以很好地包含在这看似诙谐的比较统计数据和机器学习的10年挑战当中。
然而,仅基于它们都运用了相同的概率理论就将这他们混为一谈是不合理的。例如,如果我们认为机器学习是基于优化的统计学,那么我们也可以这样说:物理学只是美化数学(Physics is just glorified mathematics.)。
动物学只是美化集邮(Zoology is just glorified stamp collection)。
建筑学只是美化沙城堡结构(Architecture is just glorified sand-castle construction.)。
这些陈述(尤其是最后一个陈述)非常荒谬,而且都来自于将有相似概念的术语合并这一概念(建筑学举例中使用了双关语)。
实际上,物理学建立在数学基础之上,是数学的一种应用,以理解现实中存在的物理现象。物理学还包括统计学的各个方面,现代统计学的形式通常是由一个含Zermelo-Frankel集合理论与测度理论相结合的框架构建而成的概率空间。由于来自同一起源和同一思想,它们有很多共同之处,并且从逻辑角度看还可以得到相同的结论。同样,建筑学和沙堡结构很可能也是如此——由于我不是建筑学家,所以无法给出有见地的解释——但显然他们是不同的。为了了解这一争论的影响范围,《Nature Methods》杂志上发表了一篇论文,概述了统计学和机器学习的区别。这个想法看起来可笑,但是却证明了在这一层次探讨的必要性。➱传送门:
https://www.nature.com/articles/nmeth.4642?source=post_page
在我们继续讨论之前,我想快速澄清另外两个与机器学习和统计相关的常见误解。即AI不等同于机器学习,数据科学不等同于统计学。这些都是没有什么争议的问题,所以只简要说明一下。数据科学本质上是应用于数据的一种计算和统计方法,数据集可大可小,还可以包括探索性数据分析,即检查并可视化数据,以帮助科学家更好地理解数据并从中做出推论。数据科学还包括数据整理和预处理等内容,由于涉及编码、建立数据库和网络服务器之间的连接,因此数据科学在某种程度上还涉及计算机科学。你不一定需要使用计算机来研究统计学,但没有计算机,你就无法研究数据科学。可以再次看到,尽管数据科学运用统计学,但它们显然不一样。同样,机器学习与人工智能不同。事实上,机器学习是AI的一个子集。这相当明显,原因是我们正在教授(“训练”)一台机器根据以前的数据对某些类型的数据进行概括性推断。在我们讨论统计学和机器学习的不同之前,我们先来讨论相似之处。前几节我们对此也进行了一些讨论。显而易见,机器学习建立在统计框架之上。因为机器学习涉及数据,并且数据必须使用统计框架来描述。然而,被扩展为大量粒子热力学的统计力学同样也建立在统计学框架之上。压强的概念实际上也是一个统计量,温度也是。如果你觉得这很荒谬可笑,没关系,事实就是如此。这就是为什么你无法描述一个分子的温度或压力,因为没有意义。温度是分子间碰撞产生平均能量的表现。对于足够多的分子,比如房子或户外环境来说,描述其温度才具有实际意义。你会承认热力学和统计学是一样的吗?不,热力学是用统计学来帮助我们理解功和热相互作用产生的输运现象。事实上,除了统计学之外,热力学还建立在更多学科之上。同样地,机器学习也借鉴了数学和计算机科学大量的其他领域,例如:ML的实现要依靠计算机科学和工程概念(如内核技巧、特征哈希)。
当我们开始使用Python进行编程,引入sklearn库并开始使用这些算法时,很多概念都被抽象了,所以很难看到他们的区别。在这种情况下,这种抽象导致了对机器学习内涵的不了解。
统计学与机器学习之间的主要区别在于统计学仅基于概率空间。你可以从集合论中推导出整个统计数据,它讨论了我们如何将数字组合成集合,然后在该集合上进行测量,并确保测量值的总和为1。我们称之为概率空间。统计学只建立在集合和测度这两个基本假设之上。这就是为什么当我们用非常严格的数学术语指定概率空间时,我实际上指定了3个东西。概率空间,我们这样表示,(Ω,F,P)包含三个部分:2、事件F,其中每个事件是包含零个或多个结果的集合。
3、为事件分配概率,P; 即是说,从事件到概率的函数。
机器学习基于统计学习理论,而统计学习理论也建立在概率空间这一公理上。统计学习理论是在20世纪60年代发展起来的,是对传统统计学的扩展。机器学习有多种分类,这里只关注监督学习,因为它最容易解释清楚(尽管仍然有点深奥,因为它背后隐藏着着数学)。监督学习的统计学习理论告诉我们,现有一组数据,表示为S = {(xᵢ,yᵢ)}。这表示有n个数据点,每个数据点都可以用被称为特征的值进行描述。这些特征由x提供,且通过某映射函数可得到y值。也就是说数据是已知的,我们的目标是找到将x值映射到y值的函数。我们称所有可能的函数集合为假设空间。为了找到这个函数,我们需要让算法通过“学习”去解决该问题,这由损失函数提供的。因此,对于每个假设(建议函数),我们需要查看其对所有数据的预期风险值来评估该函数的性能。预期风险是损失函数乘以数据的概率分布的总和。如果我们知道映射函数的联合概率分布,就很容易找到最佳函数。不过,这通常是未知的,因此我们最好的选择就是猜测最佳函数,然后根据经验判断损失函数的优劣。我们将其称之为经验风险。然后,我们可以比较不同的函数,并寻找最小预期风险的假设,即该假设可以给出全部数据假设的最小值(称为下确界)。然而,算法为了使损失函数最小,会有使数据过度拟合的趋势。这就是为什么通过训练数据学习后,函数可通过测试数据得到验证,但测试数据并不包括训练数据的内容。上述机器学习定义中我们引入了过度拟合的问题,并且证明了在执行机器学习时需要训练集和测试集。这不是统计学的固有特征,因为我们并没有试图最小化经验风险。选择经验风险最小化的函数的算法称为经验风险最小化。
以线性回归为例。在传统意义上,我们尝试最小化某些数据之间的误差,以便找到可用于描述数据的函数。这种情况下,我们通常使用均方差。我们对其进行平方,使得正负误差不会相互抵消。然后用封闭的方法求解回归系数。正因为如此,如果我们将损失函数作为均方差,并按统计学习进行经验风险最小化过程,我们最终将得到与传统线性回归分析相同的结果。这是因为两种情况是等价的,好比在同一数据上进行最大似然估计也会得到相同的结果。最大似然估计是一种实现同一目标的不同方法,然而没有人会争辩并且认为它与线性回归是一样的。当然,最简单的案例显然无助于我们区分这些方法。另外需要指出的关键是,传统的统计学方法中没有训练集和测试集的概念,但我们确实使用一系列指标来帮助我们检查模型的性能情况。因此尽管评估程序不同,但两种方法都能够得到统计上稳健的结果。此外,传统统计学由于解空间是封闭的,故存在一个最优解。它没有检验任何其他假设并收敛于一个解决方案。不过,机器学习方法则尝试了大量不同的模型并收敛到最终假设,这与回归算法的结果一致。如果我们使用了不同的损失函数,结果可能就不会收敛。例如,如果我们使用铰链损失函数(使用标准梯度下降法是不可微的,那么需要运用如近端梯度下降法这样的技术),结果就可能就不一样。最后,可以通过模型偏差进行进行对比。可令机器学习算法测试线性模型、多项式模型、指数模型等,以查看这些假设是否更适合 先验 损失函数的数据。这类似于增加相关的假设空间。在传统的统计学中,我们选择一个模型并评估其准确性,但不能自动选择100个不同模型中的最佳模型。显然,受初始算法选择的影响,偏差一定存在。因此,找到数据集中求得最优解的任意函数本身是一个NP-hard问题。
实际上,这是一个愚蠢的问题。就统计学与机器学习而言,没有统计学就不会存在机器学习,但在现代,由于人类身处信息爆炸的时代,面对海量数据,机器学习显得非常有用。对比机器学习和统计模型有点困难。选择哪种方法很大程度上取决于你的目的。如果你仅仅想构建一种能够高精度地预测房价的算法,或者使用数据来确定某人是否感染某种类型的疾病,那么机器学习可能是更好的方法。如果你试图证明变量之间的关系或用数据进行推断,那么统计模型可能是更好的方法。
如果你没有强大的统计学背景,你仍然可以学习机器学习并利用它,机器学习库提供的抽象概念使它很容易为一般人所用,但是你仍然需要理解一些基本的统计思想,以防止模型过度拟合和给出似是而非的推论。
如果你有兴趣深入研究统计学习理论,这里有很多相关的书籍和大学课程。以下是我推荐的一些课程:➱http://www.mit.edu/~9.520/fall18/?source=post_page➱http://maxim.ece.illinois.edu/teaching/spring18/index.html?source=post_page如果你有兴趣深入研究概率空间,那么我要给你一个忠告,它在数学上很重要,且通常只在研究生统计课程中涉及。这里有一些不错的资料:➱http://users.jyu.fi/~miparvia/Opetus/Stokastiikka/introduction-probability.pdf➱https://people.smp.uq.edu.au/DirkKroese/asitp.pdf>
这里是大数据、分析技术与学术研究的三叉路口
作者:Matthew Stewart翻译:威武哥(叶武威)审阅:杨奇明编辑:青酱
欢迎扫描👇二维码添加关注